package com.zkflzl.utils;

import com.sun.org.apache.xalan.internal.xsltc.compiler.sym;
import com.zkflzl.StarAct;
import com.zkflzl.entity.Star;

import java.lang.reflect.Proxy;

public class ProxyUtil {
    // 明显代理的实现代码
    public static StarAct createProxyInstance(Star star) {
        return (StarAct) Proxy.newProxyInstance(
                ProxyUtil.class.getClassLoader(),
                new Class[]{StarAct.class},
                (proxy, method, args) -> {
                    if ("sing".equals(method.getName())) {
                        System.out.println("代理开始--准备话筒");
                    } else if ("dance".equals(method.getName())) {
                        System.out.println("代理开始--准备场地");
                    }
                    return method.invoke(star, args);
                }
        );
    }
}
